// pages/board/board.js
const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    url: app.globalData.ossUrl,

    chatList: [{
      id: 0,
      date: '2024 年 4 月 21 日',
      txt: '留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言',
      content: ['留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言']
    },{
      id: 1,
      date: '2024 年 4 月 22 日',
      txt: '留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言',
      content: ['留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言']
    },{
      id: 2,
      date: '2024 年 4 月 23 日',
      txt: '留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言',
      content: ['留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言','留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言']
    },{
      id: 3,
      date: '2024 年 4 月 24 日',
      txt: '留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言',
      content: []
    },{
      id: 4,
      date: '2024 年 4 月 25 日',
      txt: '留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言留言',
      content: []
    }],

    inputValue: '',

    popShow: false,
    popStartShow: false,
    popMyShow: false,
    popAudioShow: false,
    popPosterShow: false,
    popRuleShow: false,
    popCompanyShow: false,

    myAudioList:[{
      id: 0,
      num: '1',
      txt: 'XXXXXXXXX',
      src: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/win.mp3',
      isPlaying: false
    },{
      id: 1,
      num: '2',
      txt: 'XXXXXXXXX',
      src: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/win.mp3',
      isPlaying: false
    },{
      id: 2,
      num: '3',
      txt: 'XXXXXXXXX',
      src: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/win.mp3',
      isPlaying: false
    },{
      id: 3,
      num: '4',
      txt: 'XXXXXXXXX',
      src: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/win.mp3',
      isPlaying: false
    },{
      id: 4,
      num: '5',
      txt: 'XXXXXXXXX',
      src: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/win.mp3',
      isPlaying: false
    },{
      id: 5,
      num: '6',
      txt: 'XXXXXXXXX',
      src: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/win.mp3',
      isPlaying: false
    }],

    popPosterList: [{
      id: 0,
      poster: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/pop_poster_img1.png',
      txt: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/pop_poster_txt1.png',
      text: '王一博现场拍摄',
      check: true
    },{
      id: 1,
      poster: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/pop_poster_img2.png',
      txt: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/pop_poster_txt2.png',
      text: '开启时间：05月08日',
      check: false,
      lock: true
    },{
      id: 2,
      poster: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/pop_poster_img2.png',
      txt: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/pop_poster_txt3.png',
      text: '开启时间：05月15日',
      check: false,
      lock: true
    },{
      id: 3,
      poster: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/pop_poster_img2.png',
      txt: 'https://evanbuckt.oss-cn-shanghai.aliyuncs.com/milkground/pop_poster_txt4.png',
      text: '开启时间：05月22日',
      check: false,
      lock: true
    }],

    barrageList: [{
      id: 0,
      color: 'blue',
      InAnimate: false,
      top: 0,
      txt: ''
    },{
      id: 1,
      color: 'blue',
      InAnimate: false,
      top: 0,
      txt: ''
    },{
      id: 2,
      color: 'green',
      InAnimate: false,
      top: 0,
      txt: ''
    },{
      id: 3,
      color: 'green',
      InAnimate: false,
      top: 0,
      txt: ''
    }],

    popBoardConfirm: false,
    showChatDateAll: false,
    chatDateList: [],
  },

  backChatList(e) {
    this.setData({
      showChatDateAll: false,
    })
  },

  chatShowAll(e) {
    let id = e.currentTarget.id, list = this.data.chatList, dateList = [];
    for (let i=0;i<list.length;i++) {
      if (id == list[i].id && list[i].content.length > 0) {
        console.log('asdsada');
        dateList = list[i].content
      }
    }
    this.setData({
      chatDateList: dateList,
      showChatDateAll: true,
    })
  },

  popBoardCancel(e) {
    this.setData({
      popBoardConfirm: false
    })
  },

  popBoardSubmit(e) {
    this.barrageShowFun();
    this.setData({
      popBoardConfirm: false
    })
  },

  boardSendTap(e) {
    let value = this.data.inputValue;
    if (value == '') {
      wx.showToast({
        title: '请输入留言！',
        icon: 'error',
        duration: 2000
      })
      return;
    }
    this.setData({
      popBoardConfirm: true
    })
  },

  transitionEnd(e) {
    //console.log('渐变已结束');
    let id = e.currentTarget.id, list = this.data.barrageList;
    for (let i=0;i<list.length;i++) {
      if (id == list[i].id) {
        list[i].InAnimate = false
      }
    }
    this.setData({
      barrageList: list
    })
  },

  submitInputTap(e) {
    let value = this.data.inputValue;
    if (value == '') {
      wx.showToast({
        title: '请输入留言！',
        icon: 'error',
        duration: 2000
      })
      return;
    }
    this.setData({
      popBoardConfirm: true
    })
  },

  barrageShowFun() {
    let value = this.data.inputValue, list = this.data.barrageList, num = Math.floor(Math.random()*4);
    if (list[num].InAnimate) {
      this.barrageShowFun();
      return;
    }
    list[num].top = Math.floor(Math.random()*165);
    list[num].txt = value;
    list[num].InAnimate = true;
    this.setData({
      barrageList: list,
      inputValue: ''
    })
  },

  bindKeyInput(e) {
    this.setData({
      inputValue: e.detail.value
    })
  },

  // 语音弹层 - 添加小妙
  popAudioTitleTap(e) {
    this.setData({
      popAudioShow: false,
      popCompanyShow: true,
    })
  },

  // 海报弹窗列表点击
  popPosterTap(e) {
    wx.navigateTo({
      url: '../share/share',
    })
  },

  audioListTap(e) {
    let id = e.currentTarget.id, list = this.data.myAudioList, that = this;
    for (let i=0;i<list.length;i++) {
      if (id == list[i].id) {
        const innerAudioContext = wx.createInnerAudioContext({
          useWebAudioImplement: true // 是否使用 WebAudio 作为底层音频驱动，默认关闭。对于短音频、播放频繁的音频建议开启此选项，开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长，因此对于长音频建议关闭此选项
        })
        innerAudioContext.src = list[i].src;
        innerAudioContext.play() // 播放
        list[i].isPlaying = true;
        that.setData({
          myAudioList: list
        })
        innerAudioContext.onEnded(function() {
          console.log('over!');
          innerAudioContext.destroy();
          list[i].isPlaying = false;
          that.setData({
            myAudioList: list
          })
        })
      }
    }
  },

  popMyPosterTap(e) {
    this.setData({
      popMyShow: false,
      popPosterShow: true,
    })
  },

  popMyAudioTap(e) {
    this.setData({
      popMyShow: false,
      popAudioShow: true,
    })
  },

  popCloseTap(e) {
    this.setData({
      popShow: false,
      popMyShow: false,
      popAudioShow: false,
      popPosterShow: false,
      popRuleShow: false,
      popCompanyShow: false,
    })
  },

  companyTap(e) {
    this.setData({
      popShow: true,
      popCompanyShow: true,
    })
  },

  ruleTap(e) {
    this.setData({
      popShow: true,
      popRuleShow: true,
    })
  },

  myTap(e) {
    this.setData({
      popShow: true,
      popMyShow: true,
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})